package com.ruoyi.boat.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.boat.domain.Statistic;

/**
 * 统计Service接口
 *
 * @author ruoyi
 * @date 2023-08-09
 */
public interface IStatisticService {
    /**
     * 查询统计
     *
     * @param id 统计主键
     * @return 统计
     */
    public Statistic selectStatisticById(Long id);

    /**
     * 查询统计列表
     *
     * @param statistic 统计
     * @return 统计集合
     */
    public List<Statistic> selectStatisticList(Statistic statistic);

    public Statistic selectStatisticCalculated(Statistic statistic);

    public Statistic selectStatisticListOfToday(Statistic statistic);

    public Statistic selectStatisticListOfThisWeek(Statistic statistic);

    public Statistic selectStatisticListOfThisMonth(Statistic statistic);

    public Map<String, Statistic> selectTodayThisWeekThisMonthStatistic();


    /**
     * 新增统计
     *
     * @param statistic 统计
     * @return 结果
     */
    public int insertStatistic(Statistic statistic);

    public int insertOrUpdate(Statistic statistic);

    /**
     * 修改统计
     *
     * @param statistic 统计
     * @return 结果
     */
    public int updateStatistic(Statistic statistic);

    /**
     * 修改统计
     *
     * @param statistic 统计
     * @return 结果
     */
    public int updateStatisticByBoatCodeAndTime(Statistic statistic);


    /**
     * 批量删除统计
     *
     * @param ids 需要删除的统计主键集合
     * @return 结果
     */
    public int deleteStatisticByIds(String ids);

    /**
     * 删除统计信息
     *
     * @param id 统计主键
     * @return 结果
     */
    public int deleteStatisticById(Long id);

}
